"""列表推导式
列表推导式的方括号内包含以下内容：
一个表达式，后面为一个 for 子句，
然后，是零个或多个 for 或 if 子句。（可以看成他们嵌套在第一个for中）
结果是由表达式依据 for 和 if 子句求值计算而得出一个新列表。
"""

# 列表推导式
list1 = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
print(list1) # [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

# 等价于
list2 = []
for x in [1,2,3]:
    for y in [3,1,4]:
        if x != y:
            list2.append((x, y))

print(list2) # [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]